#ifndef CELL_H
#define CELL_H
 
#include<iostream>
#include "Common.h"

#define Q_DIM 	9

#define alpha2	1.0

enum momentum {
	iDR=0, iE, iEPSILON, iJX, iQX, iJY, iQY, iPXX, iPXY
};

class Cell {
	public:
		double meq[Q_DIM];
		double m[Q_DIM];

		void calcMomenta();
		void calcDF();
		void calcEQ();

		double f[Q_DIM];
		double s[Q_DIM];
		double r, dr; //rho = r + dr
		double ux, uy;

		Cell(void);
		void collide();
		void collide(double _ux, double _uy);
		void updateRhoAndU(void);

		void setU(double _ux, double _uy, double _r);
};

#endif
